【安装】CentOS7.7下图形化安装Oracle11gR2 您所在的位置:网站首页 centos7 swap分区大小 【安装】CentOS7.7下图形化安装Oracle11gR2

【安装】CentOS7.7下图形化安装Oracle11gR2

2023-04-10 10:11| 来源: 网络整理| 查看: 265

安装数据库阶段是非常重要的一环,安装合理可以避免很多后续问题,当前生产环境基本都使用的CentOS7+Oracle11gR2的搭配,现将虚拟机环境下图形安装方式整理如下,内容包含:系统参数设置、数据库软件安装、监听配置及建库

一、准备工作 1、环境规划 设置备注内存8G交换分区(SWAP)8G物理内存16GB以内,SWAP的大小应该与物理内存相等;物理内存大于16GB时,SWAP的大小设置为16G(Doc ID 1962100.1:1-2G 设置物理内存1.5倍,2-16G等于物理内存,大于16G设置16G)磁盘1/oracle软件安装盘,生产最小设置50G磁盘2/oradata数据文件存放盘,根据业务情况设置大小磁盘3/backup备份盘,考虑使用NFS磁盘4/archive归档日志盘,根据业务情况设置大小 2、基本环境配置 2.1 系统检查和调整 检查hostname hostname --修改:hostnamectl set-hostname 主机名 检查操作系统版本 uname -a cat /etc/redhat-release 检查磁盘分区情况 df -h 检查内存情况 free -h 检查网卡信息 ifconfig 2.2 修改hosts文件

将IP、主机名对应关系添加到host文件,示例:

echo "192.168.10.136 xktest" >> /etc/hosts cat /etc/hosts 2.3 配置语言环境变量 echo "export >> ~/.bash_profile source ~/.bash_profile 2.4 准备文件系统 fdisk -l 查看磁盘 pvcreate /dev/sdb /dev/sdc /dev/sdd /dev/sde vgcreate oravg /dev/sdb vgcreate datavg /dev/sdc vgcreate backvg /dev/sdd vgcreate archvg /dev/sde lvcreate -n oralv -L 20000M oravg lvcreate -n datalv -L 20000M datavg lvcreate -n backuplv -L 20000M backvg lvcreate -n archivelv -L 20000M archvg --格式化为xfs格式 mkfs.xfs /dev/backvg/backuplv mkfs.xfs /dev/archvg/archivelv mkfs.xfs /dev/datavg/datalv mkfs.xfs /dev/oravg/oralv

设置文件系统自动挂载

vi /etc/fstab /dev/oravg/oralv /oracle xfs defaults 0 0 /dev/datavg/datalv /oradata xfs defaults 0 0 /dev/backvg/backuplv /backup xfs defaults 0 0 /dev/archvg/archivelv /archive xfs defaults 0 0

或者采用如下方式

echo "/dev/oravg/oralv /oracle xfs defaults 0 0" >> /etc/fstab

创建挂载目录

mkdir /oracle mkdir /oradata mkdir /backup mkdir /archive

挂载

mount /oracle mount /oradata mount /backup mount /archive 2.5 关闭不必要的系统服务 关闭防火墙 systemctl stop firewalld systemctl disable firewalld --关闭后查看状态 systemctl status firewalld 或 firewall-cmd --stat 关闭selinux(重启生效) --永久关闭 vi /etc/selinux/config 修改SELINUX参数为disabled --临时关闭 setenforce 0 查看状态 getenforce 2.6 配置yum源 mount /dev/cdrom /mnt

备份原有文件

cd /etc/yum.repos.d mkdir bak mv *.repo bak/

生成配置文件

echo "[EL]" >> /etc/yum.repos.d/source.repo echo "name=Linux 7.x DVD" >> /etc/yum.repos.d/source.repo echo "baseurl=file:///mnt" >> /etc/yum.repos.d/source.repo echo "gpgcheck=0" >> /etc/yum.repos.d/source.repo echo "enabled=1" >> /etc/yum.repos.d/source.repo

检查内容

cat /etc/yum.repos.d/source.repo 2.7 安装所需包 yum -y install binutils compat-libstdc++-33 gcc gcc-c++ glibc glibc-common glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat openssh-clients compat-libcap1 xorg-x11-utils xorg-x11-xauth elfutils unixODBC unixODBC-devel libXp elfutils-libelf elfutils-libelf-devel smartmontools

单独安装

rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm 2.8 修改资源限制参数 vi /etc/security/limits.conf # ORACLE SETTING oracle soft nproc 16384 oracle hard nproc 16384 oracle soft nofile 16384 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768 oracle soft memlock 8000000 --根据实际物理内存设置,单位KB,略低于物理内存,示例中内存8G oracle hard memlock 8000000 --根据实际物理内存设置,单位KB,略低于物理内存,示例中内存8G vi /etc/security/limits.d/20-nproc.conf * soft nproc 16384

说明:

soft代表软件限制,hard代表硬件限制软件限制到了会报警,硬件限制到了会报错nproc参数:操作系统级别对每个用户创建的进程数的限制nofile参数:文件描述符(句柄)一个进程能够打开文件的次数,也就是一个进程能打开多少文件,影响应用的并发度stack参数:堆大小memlock参数: 限制锁定内存的大小,单位KB,略低于物理内存 2.9 配置内核参数 vi /etc/sysctl.conf # ORACLE fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 1258291 kernel.shmmax = 5153960755 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 #kernel.panic_on_oops = 1 vm.nr_hugepages = 2600

sysctl -p 生效

参数说明fs.aio-max-nr可以拥有的异步IO请求数,避免IO系统故障,默认fs.file-max允许的文件句柄最大数目,默认kernel.shmall控制共享内存页数=shmmax/PAGESIZE;getconf PAGESIZE 查看PAGESIZEkernel.shmmax单个共享内存段最大值,让数据库在一个共享段里容纳整个SGA。举例:假设有8G内存,数据库最大使用内存,不要超过物理内存的80%(SGA+PGA),所以8G内存情况下,SGA要小于4.8G,PGA要小于1.6G,计算shmmax值最大为4.8Gx1024x1024x1024=5153960755kernel.shmmni共享内存段的最大数量,默认kernel.sem空格不能去掉,信号参数,默认net.ipv4.ip_local_port_rangeoracle本地ipv4端口范围net.core.rmem_default默认net.core.rmem_max默认net.core.wmem_default默认net.core.wmem_max默认kernel.panic_on_oopsCentOS7需要加上该参数,避免12cbugvm.nr_hugepages大内存页,默认4K/页,数据库建议用2M/页,该参数一定要大于SGA。计算方式:sga_max_size/2M+100~500M。8G内存情况下SGA最大4.8G,(4.8x1024)/2=2457.6,加一点得2600

检查大页情况

cat /proc/meminfo | grep Huge 2.10 创建用户、组及目录

创建组

/usr/sbin/groupadd -g 60001 oinstall /usr/sbin/groupadd -g 60002 dba /usr/sbin/groupadd -g 60003 oper

创建oracle用户

useradd -u 61001 -g oinstall -G dba,oper oracle passwd oracle

注意:不建议使用echo “oracle” | passwd --stdin oracle 命令设置,该方式使用history可以看到密码,另有符号问题可能会导致bug

创建目录

mkdir -p /oracle mkdir -p /oracle/app/oracle/product/11.2.0 mkdir -p /oracle/app/oraInventory

注意:不建议使用/u01作为目录,使用/oracle清晰避免误操作

修改所属组及授权

chown -R oracle:oinstall /oracle chown -R oracle:oinstall /oradata chown -R oracle:oinstall /backup chown -R oracle:oinstall /archive chmod -R 775 /oracle chmod -R 775 /oradata chmod -R 775 /backup chmod -R 775 /archive 2.11 关闭透明大页

rac环境下会导致节点重启及性能问题 查看设置前情况

cat /sys/kernel/mm/transparent_hugepage/defrag always madvise [never] cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never]

修改设置

vi /etc/rc.d/rc.local if test -f /sys/kernel/mm/transparent_hugepage/enabled;then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag;then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi chmod +x /etc/rc.d/rc.local

设置后需要重启系统

2.12 修改numa功能 vi /etc/default/grub 在GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet numa=off" 这一行加上numa=off --重新编译 grub2-mkconfig -o /etc/grub2.cfg

参考:

https://www.thegeekdiary.com/how-to-disable-numa-in-centos-rhel-67/https://www.cnblogs.com/wjoyxt/p/4804081.html 2.13 共享内存段 vi /etc/fstab 没有的话加入下一行 none /dev/shm tmpfs defaults,size=8G 0 0 --生效 mount -o remount /dev/shm 2.14 配置环境变量 su - oracle vi ~/.bash_profile export PATH #左侧显示 PS1="[`whoami`@`hostname`:"'$PWD]' export TMP=/tmp export LANG=en_US export TMPDIR=$TMP export ORACLE_UNQNAME=xktest export ORACLE_SID=xktest export ORACLE_BASE=/oracle/app/oracle; export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export NLS_DATA_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; #线程标志 export THREADS_FLAG=native; export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch #终端类型 export ORACLE_TERM=xterm; #代表使用oracle用户创建的文件都是755权限,此处是反码 umask=022

注意:等号前后不能有空格

二、安装Oracle软件 1、安装包上传解压 cd /tmp --使用终端工具将压缩包上传 p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip su - oracle unzip 解压 解压缩完成后出现database文件夹 用户是oracle 组是oinstall 2、软件安装 cd database

CentOS7下安装11gR2有bug,需要执行如下安装命令

./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

注意:虚拟机环境无法打开图形化界面需要执行

export DISPLAY=192.168.10.1:0.0 上面IP为本机IP

安装前检查问题解决:

/tmp目录空间不足,清理空间即可,对实际安装无影响内核参数shmall不符合要求,勾选后点击【Fix&Check Again】,在root执行脚本解决缺少安装包,安装即可,pdksh包在7环境下不需要可选择ignore

安装到86%报错,这里为CentOS7下安装11gR2的bug,处理方式: /oracle/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk 先备份,再修改 搜索NMECTL这一行 在括号后面加上 -lnnz11 修改保存 再点击retry

root下执行脚本 到此软件安装完毕

三、配置监听 su - oracle netca

完成,查看1521端口是否被监听

netstat -an | grep 1521

查看监听状态

lsnrctl status 四、DBCA建库

Database Name设置与SID相同,要与.bash_profile文件中ORACLE_SID相同 不安装EM 按照图示选择,数据文件路径设置为/oradata 不启动闪回区,先不启用归档 选择Custom,参数设置要符合2.7小节说明 另外不要使用AMM,与内存大页不兼容 注意:在step 10 if 11这一步,需要设置

控制文件多路复用system、sysaux、TEMP、UNDOTBS1 生产环境设置至少20G 20480MUSERS表空间设置5G即可,重做日志至少5组,至少200M/组

建库完毕

--查看监听状态 lsnrctl status --登陆数据库查看 sqlplus / as sysdba 五、总结 以上为系统参数设置、数据库软件安装、监听配置及建库过程,后续还有补丁安装、参数优化步骤部分设置,如numa还需深入了解原理,实际验证生产环境一般使用静默安装方式,后续另开一篇安装、分区、建库等都可通过shell脚本简化流程,该部分需要加强



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有